Цель лекции: Сформировать понимание целей, структуры и содержания ключевых проектных документов на этапах предпроектного и технического проектирования ИС.
Ключевая мысль: Качественное проектирование на 80% определяет успех всего проекта. "Семь раз отмерь (спроектируй), один раз отрежь (напиши код)".
Создание сложной ИС — это не кодирование, а проект. Любой проект требует тщательного планирования и проектирования. Упрощенно жизненный цикл можно представить так:
Сегодня мы подробно разбираем первые два пункта.
Техническое задание (ТЗ) — это основной документ, определяющий цели, требования и порядок создания информационной системы. Он утверждается заказчиком и является основой для договора и критерием приемки готовой системы.
1. Общие сведения:
2. Назначение и цели создания системы:
Что будет делать система? Какую бизнес-проблему решает?
3. Характеристики объекта автоматизации:
Описание бизнес-процессов компании-заказчика
4. Требования к системе (Функциональные требования):
Самый важный раздел! Подробное описание того, что должна делать система. Часто оформляется в виде Use Case (вариантов использования) или пользовательских историй (User Stories).
Пример: "Система должна позволять пользователю регистрировать новый заказ, внося данные: ФИО клиента, товар, количество, дата отгрузки".
5. Нефункциональные требования:
Требования к производительности, безопасности, надежности, удобству использования (usability), масштабируемости.
Пример: "Время отклика системы при любом запросе не должно превышать 2 секунд при нагрузке до 100 concurrent пользователей".
6. Состав и сроки выполнения работ:
Этапы разработки и их сроки
7. Порядок контроля и приемки системы:
Как будут тестировать систему? Критерии приемки
8. Приложения: Могут включать схемы бизнес-процессов, глоссарий терминов
Цель этапа: Разработать и утвердить архитектурные и проектные решения высокого уровня. Ответить на вопрос: "Как в общих чертах мы будем реализовывать требования из ТЗ?"
Результатом этапа является пакет документов "Эскизный проект", который обычно включает:
Эскизный проект согласуется с заказчиком, чтобы убедиться, что разработчик правильно понял ТЗ и предлагаемые решения устраивают заказчика.
Цель этапа: Разработать детальные проектные решения, на основе которых можно непосредственно писать код. Это углубление и детализация эскизного проекта.
Результатом этапа является пакет документов "Технический проект", который включает:
Технический проект — это последний этап, где всё продумывается на бумаге (в моделях), прежде чем начать дорогостоящий процесс написания кода.
| Критерий | Техническое задание (ТЗ) | Эскизный проект (ЭП) | Технический проект (ТП) |
|---|---|---|---|
| Основной вопрос | ЧТО сделать? (Требования) | КАК в общих чертах? (Архитектура) | КАК в деталях? (Реализация) |
| Уровень детализации | Высокоуровневое описание | Архитектурный уровень | Детальный, низкоуровневый |
| Целевая аудитория | Заказчик, руководство, аналитики | Заказчик, архитекторы, team leads | Разработчики, тестировщики, DevOps |
| Основное содержание | Функциональные и нефункциональные требования | Выбор технологий, схема компонентов, логика данных | Схемы БД, API-спекы, алгоритмы, макеты UI |
| Правовой статус | Основа для договора и приемки | Основа для согласования архитектуры | Инструкция для разработчиков |
Различение этих типов требований критически важно потому, что они:
Три метода сбора требований:
Самый эффективный метод — интервью, потому что он позволяет:
Стейкхолдер (заинтересованное лицо) — это любой человек, группа или организация, которые оказывают влияние на проект или находятся под влиянием его результатов.
Идентификация стейкхолдеров в начале проекта важна, потому что это позволяет:
Нечеткие и неполные требования приводят к серьезным негативным последствиям:
Нет, не соответствует. Это требование нарушает практически все критерии SMART:
Переформулированное требование по SMART:
"Новый библиотекарь должен быть способен самостоятельно выполнить операции поиска и выдачи книги за 5 минут после 30-минутного обучения, совершив при этом не более 1 ошибки."